Одна из
распространённых задач обработки текстов – преобразование первой буквы каждого слова в строке в
заглавную.
В этой
задаче необходимо выполнить такое преобразование.
Вход. Строка состоит
из слов, написанных строчными буквами латинского алфавита (‘a’ – ‘z’). Слова разделены одним или несколькими пробелами. Длина
строки не превышает 50 символов.
Выход. Выведите
строку, идентичную входной, в которой первая буква каждого слова преобразована
в заглавную.
Пример входа |
Пример выхода |
intro to
algo |
Intro To
Algo |
строки
Первую
букву слова можно определить следующим образом:
·
если первый символ строки является буквой, его следует
преобразовать в верхний регистр;
·
если текущий символ является буквой и непосредственно
перед ним находится пробел, то этот символ также следует преобразовать в
верхний регистр;
Реализация алгоритма
Объявим рабочую
строку.
string s;
Читаем входную строку.
getline(cin,s);
Если первый символ строки не является пробелом, его
следует преобразовать в заглавную букву.
if (s[0] != ' ') s[0] = toupper(s[0]);
Если
текущий символ является буквой и перед ним находится пробел, его также следует
преобразовать в заглавную букву.
for(int i = 1; i < s.size(); i++)
if
(s[i] != ' ' && s[i-1] == ' ')
s[i] = toupper(s[i]);
Выводим результирующую строку.
cout << s << endl;
Реализация алгоритма – char массив
Объявим символьный
массив.
char s[100];
Читаем входную строку.
gets(s);
Если первый символ строки не является пробелом, его
следует преобразовать в заглавную букву.
if (s[0] != ' ') s[0] = toupper(s[0]);
Если
текущий символ является буквой и перед ним находится пробел, его также следует
преобразовать в заглавную букву.
for(i = 1; i < strlen(s); i++)
if
(s[i] != ' ' && s[i-1] == ' ') s[i] = toupper(s[i]);
Выводим результирующую строку.
puts(s);
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
char s[] = con.nextLine().toCharArray();
if (s[0] != ' ') s[0] = Character.toUpperCase(s[0]);
for(int i = 1; i < s.length; i++)
if (s[i] != ' ' && s[i-1] == ' ')
s[i] = Character.toUpperCase(s[i]);
System.out.println(String.valueOf(s));
con.close();
}
}
Python реализация
Читаем
входную строку.
s = input()
Функция title() используется для преобразования первой буквы каждого
слова в строке в заглавную (верхний регистр), а остальные буквы становятся
строчными (нижний регистр).
Выводим
результирующую строку.
print(s.title())